The popularity of the Internet, coupled with the increasing capabilities of personal/mobile electronic devices, has provided consumers with the ability to enjoy content almost anytime and anywhere. For example, multimedia content, such as live content (e.g., sports events) and video on demand (VOD) content (e.g., television shows and movies), can be delivered via the Internet to personal electronic devices (e.g., computers, mobile phones, Internet-enabled televisions, etc.). Various types of personal electronic devices are available to consumers. Different devices may support applications (e.g., video players) written in different programming languages.
In order to distribute a particular software application (e.g., a video player) to a variety of different types of devices or platforms that support different programming languages, developers may develop multiple versions of the application using the different programming languages. Therefore, supporting a large number of different platforms may require a large number of different versions to be developed. Developing multiple versions of one application may be time consuming and may lead to errors being introduced in different versions of the application. Such errors may not be consistent across versions. Furthermore, each time an error is fixed or a feature is added to the application, the fix or added feature may need to be applied to more than one version of the application. Applying fixes and updates to multiple versions of the application may be cumbersome.